package com.weavernorth.sysap.util;

import java.util.Random;

import weaver.file.Prop;
import weaver.general.BaseBean;

public class LogUtil {
	private static Prop prop = Prop.getInstance();

	public LogUtil(){}

	/**
	 * 将字符串输出到log日志文件中。
	 * 系统自动读取wnutil.properties文件中的设置，如果设置为输出日志时，才输出
	 * 代码调用如下：
	 * LogUtil.doWriteLog("需要输出的日志内容");
	 *
	 * @param strLogMessage 需要输出的日志信息
	 */
	public static void doWriteLog(String strLogMessage){
		BaseBean bb=new BaseBean();
		//读取日志文件的信息
		String strIsLog=bb.getPropValue("wnutil", "islog");
		//如果输出标志为Y，则输出日志
		if("Y".equalsIgnoreCase(strIsLog)){
			bb.writeLog(strLogMessage);
		}
	}

	/**
	 * 空字符串验证
	 * 代码调用如下：
	 * LogUtil.null2String(字符串);
	 *
	 * @param  paramString 字符串
	 * @return 如传入的字符串为空或null，返回""
	 */
	public static String null2String(String paramString) {
		return paramString == null ? "" : paramString;
	}

	/**
	 * 空字符串验证
	 * 代码调用如下：
	 * LogUtil.null2String(字符串,"默认值");
	 *
	 * @param  paramString 字符串
	 * @param  paramString2 默认值
	 * @return 如传入的字符串为空或null，返回"" 或 paramString2
	 */
	public static String null2String(String paramString1, String paramString2) {
		return paramString1 == null ? paramString2 : paramString2 == null ? "" : paramString1;
	}

	/**
	 * 读取prop目录中的配置文件
	 * 代码调用如下：
	 * LogUtil.getPropValue("文件名","字段名");
	 *
	 * @param  flieName 文件名
	 * @param  fieldName 字段名
	 * @return String 字段对应的值
	 */
	public static String getPropValue(String flieName, String fieldName) {
		return Prop.getPropValue(flieName, fieldName);
	}
	/**
	 * @return String 32位随机字符串
	 */
	public static String getuuid(){
		java.util.Date today_UUID = new java.util.Date();
		java.text.SimpleDateFormat sdf_UUID = new java.text.SimpleDateFormat("yyyyMMddHHmmssSS");
		String time_UUID = sdf_UUID.format(today_UUID);
		int len_time_UUID = time_UUID.length();
		if(len_time_UUID < 32){
			int tmpnum = 32 - len_time_UUID;
			Random rand = new Random();
			for(int uuidi = 0; uuidi < tmpnum; uuidi++){
				time_UUID += rand.nextInt(9);
			}
		}
		return time_UUID;
	}

}
